package com.oracle.controller;


import com.oracle.compents.Compents;
import com.oracle.compents.RespApi;
import com.oracle.pojo.Task;
import com.oracle.service.TaskService;
import com.oracle.vo.req.TaskVo;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author
 * @since 2024年12月23日
 */
@RestController
@RequestMapping("/task")
public class TaskController {

    @Autowired
    private TaskService taskService;

    /**
     * 任务列表查询的方案
     * @return
     */
    @GetMapping("/findAll")
    public RespApi findAll(){
        return RespApi.success(taskService.findAll());
    };

    /**
     * 任务列表分页查询的方案
     * pageNum 当前页
     * pageSize 每页多少条
     * @return
     */
    @GetMapping("/findPage")
    public RespApi findPage(String pageNum,String pageSize){
        //页码的初始化 dead code
        Integer currentPage = Compents.PAGENUM;
        Integer pageCount = Compents.PAGESIZE;

        //1、校验
        //首次访问 前端传值 有隐患 pageNum 为null
        if(!ObjectUtils.isEmpty(pageNum)){
            //parseInt 有隐患
            currentPage = Integer.valueOf(pageNum);
        }

        if(!ObjectUtils.isEmpty(pageSize)){
            //parseInt 有隐患
            pageCount = Integer.valueOf(pageSize);
        }

        return RespApi.success(taskService.findPage(currentPage,pageCount));

    };

    /**
     * 任务列表检索的方案
     * pageNum 当前页
     * pageSize 每页多少条
     * @return
     */
    @PostMapping("/search")
    public RespApi search(@RequestBody TaskVo taskvo, String pageNum, String pageSize){
        //页码的初始化 dead code
        Integer currentPage = Compents.PAGENUM;
        Integer pageCount = Compents.PAGESIZE;

        //1、校验
        //首次访问 前端传值 有隐患 pageNum 为null
        if(!ObjectUtils.isEmpty(pageNum)){
            //parseInt 有隐患
            currentPage = Integer.valueOf(pageNum);
        }

        if(!ObjectUtils.isEmpty(pageSize)){
            //parseInt 有隐患
            pageCount = Integer.valueOf(pageSize);
        }

        return RespApi.success(taskService.search(taskvo,currentPage,pageCount));

    };

}
